«Перекладывание бумажек» как отдельный бизнес-процесс
Один из клиентов kt.team, крупная логистическая компания, ежедневно отправляет тысячи шипментов (отгрузок). Каждая из отгрузок сопровождается рамочным договором, товарной накладной, товарно-транспортной накладной (сокр. ТТН), счетами, пропусками для водителей-экспедиторов, актами приёмки-передачи… Пакет документов — как правило, многостраничных — для шипментов довольно велик.
Большая часть этих документов поступает в бумажном виде: водитель-экспедитор привозит их и передаёт на валидацию в специальное подразделение бухгалтерии.
В очень упрощённом виде бизнес-процесс обработки входящих бумажных документов изображён на рис. 1.
Документы вручную проверяют на комплектность, наличие обязательных атрибутов, корректность заполнения. После сканирования сотрудник бухгалтерии вручную вбивает в Admin Tool номер договора, к которому должен быть привязан документ, и вручную же «связывает» отдельные страницы документа между собой. Проверенные документы поступают в бухгалтерскую программу (BluJay) и электронное хранилище (Magellan).
Фактически десятки сотрудников ежедневно занимаются «перекладыванием бумажек», хоть и целевым.
На механическую работу ежемесячно тратятся тысячи человеко-часов. Скорость обработки каждого следующего пакета документов неизбежно снижается — даже у опытных сотрудников «замыливается» глаз. Неизбежны ошибки, порождённые человеческим фактором.
Задача: автоматизировать валидацию документов
Клиент давно хотел автоматизировать рутинные задачи по работе с документами, чтобы использовать время сотрудников более рационально. Но он не нашёл на рынке готового информационного продукта или комплекса продуктов, который бы безболезненно встроился в существующий бизнес-процесс и информационную инфраструктуру компании. Все существующие коробочные продукты могли взять на себя один-два шага из сложного бизнес-процесса, что никак не решило бы задачу.
Проанализировав ситуацию, мы предложили клиенту разработать индивидуальное решение под процесс валидации и оцифровки бумажных документов.
Наша команда изучила бизнес-процесс и выявила этапы, которые возможно автоматизировать:
- сканирование;
- определение типа документа;
- определение полноты документа;
- формирование пакета документов;
- интеграция с бухгалтерской программой;
- интеграция с хранилищем электронных документов.
Нашим решением было не писать отдельный продукт под каждый из этапов, а объединить их в единый продукт — iCdocs (сокр. от англ. intelligent compiler of documents).
Решение для сложной задачи
Наиболее сложным с точки зрения автоматизации был этап определения типа документа.
Для реализации этих задач мы протестировали несколько гипотез.
Первая гипотеза — работа с изображениями. Мы планировали обучить нейросеть определённому набору образов, которые соответствуют формам документов. Сличая скан конкретного документа с хранящимися в памяти образами, нейросеть должна была определять тип документа и указанного в нём контрагента.
Практика показала, что это неудачный подход. Для целого ряда документов (например, для накладных) не существует единой общепринятой формы. Отличается количество полей, взаимное расположение элементов, заполнение обязательных полей. Даже длительное обучение, требующее больших системных ресурсов, не обеспечило бы приемлемого результата, а определение каждого документа занимало бы больше времени, чем ручная обработка.
Такое решение не было бы целесообразным с точки зрения бизнеса клиента.
Поэтому вместо изображений мы решили работать с текстом. Вне зависимости от формы, принятой у контрагента, товарно-транспортная накладная обязательно содержит текстовое наименование документа, номер ТТН, отгрузки и договора и другую текстовую информацию, которая позволяет корректно её обработать.
В iCdocs реализовано машинное обучение random forest и векторный анализ расположения слов по метрике для определения типов документов.
Этот подход показал себя более эффективным. Анализируя наличие «нужных» слов, мы смогли уже на старте приблизиться к 78 %, iCdocs самостоятельно распознавал тип документов — оператору оставалось только подтвердить результаты. Таким образом, был создан единый продукт для всего процесса.
Единый продукт для всего процесса
Помимо распознавания типа документов в iCdocs, мы реализовали и иные функции.
1. Оцифровка бумажных документов
До внедрения iCdocs сканирование документов проходило в ручном или полуавтоматическом режиме. Оператор сам запускал сканирование, сам забирал получившиеся файлы из программы сканера и обрабатывал их. Мы написали драйвер для сканера, который запускает сканирование пакета документов и отправляет отсканированные изображения в iCdocs. Оператор только закладывает бумажные документы в сканер.
2. Верификация заполнения
Определив тип документа, iCdocs проверяет корректность его заполнения: заполнены ли обязательные поля и соответствует ли содержащаяся в них информация стандарту. Для корректного выполнения этой функции система должна обучиться, поэтому первое время верификация заполнения документов происходит с участием оператора. Подтверждая или не подтверждая корректность заполнения полей и документов в целом, он обучает iCdocs узнавать «правильные» документы и отправлять некорректные на доработку.
iCdocs смотрит на ключевые поля и характеристики документа (рис. 2).
3. Сортировка документов по контрагентам и пакетам
Для сортировки документов по контрагентам и пакетам реализована интеграция iCdocs со штатной бухгалтерской программой BluJay. Система запрашивает действующие номера договоров и шипментов, сравнивает их с данными из пакета документов и «привязывает» пакет документов к соответствующему контрагенту и договору.
4. Проверка комплектности пакетов документов
Проверка комплектности пакетов документов происходит внутри iCdocs. Система проверяет наличие необходимых документов по списку и сверяет номинальное и реальное количество страниц в документах. Если в пакете не хватает документа или в документе — страниц, iCdocs информирует оператора о проблеме.
5. Экспорт данных
По завершении проверки пакета документов iCdocs автоматически экспортирует данные в информационные системы компании: бухгалтерские, CRM, архивы документов. При передаче документы уже собраны в пакет, ассоциированы с контрагентом, договором и шипментом.
6. Резервное копирование
В дополнение к штатному хранилищу iCdocs сохраняет резервные копии документов. Таким образом вся обработка пакетов документов — от оцифровки до передачи на хранение — реализована в одном продукте (рис. 3).
Не только логистика
Функционал iCdocs применим не только в логистике, но и в других сферах. Приведём примеры нескольких кейсов, в которых он будет полезен.
- Организация ежедневно получает и обрабатывает большое количество бумажных документов. Необходимо оперативно проверять входящие пакеты документов на корректность, сортировать их, передавать в работу и сохранять в архив.
- С каждым из партнёров заключено несколько договоров. В каждом из договоров варьируются условия работы, например: разные доставщики, способы или подходы к оплате — и нужно соотносить каждую из заявок или сделок с соответствующим договором.
- Партнёры ведут деятельность через несколько юрлиц с разными организационными формами, кодами ОКВЭД и отдельными договорами под каждое из юрлиц. Пакет документов нужно проверять на комплектность, соответствие нужному номеру договора и корректность заполнения информации. Юрлицо, подпись, юридические данные должны соответствовать указанным в договоре.
При этом iCdocs, строго говоря, не является универсальным продуктом. Процесс обработки бумажной документации в каждой компании выстроен по-своему, задействованы разные позиции и информационные системы. Первым шагом в интеграции iCdocs всегда будет изучение соответствующего бизнес-процесса и адаптация продукта под задачи и инфраструктуру заказчика.